package com.cgnpc.scp.hse.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cgnpc.scp.common.bean.MyPageRequest;
import com.cgnpc.scp.common.utils.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import java.util.Date;
import java.util.List;

@TableName(value = "tbl_hse_meetingfile")
public class HseMeetingFile extends MyPageRequest {
    /**
     * 文件类型；值0未知；1文档；2录音；
     */
    public static final int MEETINGFILETYPE_0 = 0;

    /**
     * 文件类型；值0未知；1文档；2录音；
     */
    public static final int MEETINGFILETYPE_1_DOC = 1;

    /**
     * 文件类型；值0未知；1文档；2录音；
     */
    public static final int MEETINGFILETYPE_2_AUDIO = 2;

    @TableId
    private String id;

    private String meetingInfoId;

    private String fileType;

    private String fileOriginalName;

    private String fileName;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long fileSizeByte;

    private String filePath;

    private String fileWebPath;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String createUser;

    private String createUserName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateTime;

    private String lastUpdateUser;

    private String lastUpdateUserName;

    private Integer meetingFileType;

    private String fileCenterTenantId;

    private String fileCenterAppId;

    private String fileCenterAppName;

    private String fileCenterFileId;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long fileCenterFileSize;

    private String fileCenterUrl;

    private String scpCommonFileUploadId;

    // begin 自定义字段
    @TableField(exist = false)
    private List<String> fileCenterAppIdList;
    // end 自定义字段

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getMeetingInfoId() {
        return meetingInfoId;
    }

    public void setMeetingInfoId(String meetingInfoId) {
        this.meetingInfoId = meetingInfoId == null ? null : meetingInfoId.trim();
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType == null ? null : fileType.trim();
    }

    public String getFileOriginalName() {
        return fileOriginalName;
    }

    public void setFileOriginalName(String fileOriginalName) {
        this.fileOriginalName = fileOriginalName == null ? null : fileOriginalName.trim();
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName == null ? null : fileName.trim();
    }

    public Long getFileSizeByte() {
        return fileSizeByte;
    }

    public void setFileSizeByte(Long fileSizeByte) {
        this.fileSizeByte = fileSizeByte;
    }

    public String getFilePath() {
        return filePath;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath == null ? null : filePath.trim();
    }

    public String getFileWebPath() {
        return fileWebPath;
    }

    public void setFileWebPath(String fileWebPath) {
        this.fileWebPath = fileWebPath == null ? null : fileWebPath.trim();
    }

    public Date getCreateTime() {
        return DateUtil.cloneNewDate(createTime);
    }

    public void setCreateTime(Date createTime) {
        this.createTime = DateUtil.cloneNewDate(createTime);
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName == null ? null : createUserName.trim();
    }

    public Date getLastUpdateTime() {
        return DateUtil.cloneNewDate(lastUpdateTime);
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = DateUtil.cloneNewDate(lastUpdateTime);
    }

    public String getLastUpdateUser() {
        return lastUpdateUser;
    }

    public void setLastUpdateUser(String lastUpdateUser) {
        this.lastUpdateUser = lastUpdateUser == null ? null : lastUpdateUser.trim();
    }

    public String getLastUpdateUserName() {
        return lastUpdateUserName;
    }

    public void setLastUpdateUserName(String lastUpdateUserName) {
        this.lastUpdateUserName = lastUpdateUserName == null ? null : lastUpdateUserName.trim();
    }

    public Integer getMeetingFileType() {
        return meetingFileType;
    }

    public void setMeetingFileType(Integer meetingFileType) {
        this.meetingFileType = meetingFileType;
    }

    public String getFileCenterTenantId() {
        return fileCenterTenantId;
    }

    public void setFileCenterTenantId(String fileCenterTenantId) {
        this.fileCenterTenantId = fileCenterTenantId == null ? null : fileCenterTenantId.trim();
    }

    public String getFileCenterAppId() {
        return fileCenterAppId;
    }

    public void setFileCenterAppId(String fileCenterAppId) {
        this.fileCenterAppId = fileCenterAppId == null ? null : fileCenterAppId.trim();
    }

    public String getFileCenterAppName() {
        return fileCenterAppName;
    }

    public void setFileCenterAppName(String fileCenterAppName) {
        this.fileCenterAppName = fileCenterAppName == null ? null : fileCenterAppName.trim();
    }

    public String getFileCenterFileId() {
        return fileCenterFileId;
    }

    public void setFileCenterFileId(String fileCenterFileId) {
        this.fileCenterFileId = fileCenterFileId == null ? null : fileCenterFileId.trim();
    }

    public Long getFileCenterFileSize() {
        return fileCenterFileSize;
    }

    public void setFileCenterFileSize(Long fileCenterFileSize) {
        this.fileCenterFileSize = fileCenterFileSize;
    }

    public String getFileCenterUrl() {
        return fileCenterUrl;
    }

    public void setFileCenterUrl(String fileCenterUrl) {
        this.fileCenterUrl = fileCenterUrl == null ? null : fileCenterUrl.trim();
    }

    public String getScpCommonFileUploadId() {
        return scpCommonFileUploadId;
    }

    public void setScpCommonFileUploadId(String scpCommonFileUploadId) {
        this.scpCommonFileUploadId = scpCommonFileUploadId == null ? null : scpCommonFileUploadId.trim();
    }

    public List<String> getFileCenterAppIdList() {
        return fileCenterAppIdList;
    }

    public void setFileCenterAppIdList(List<String> fileCenterAppIdList) {
        this.fileCenterAppIdList = fileCenterAppIdList;
    }
}